Some network devices process packets using a data path and a control path. The data path generally buffers data for received packets until the packets are transmitted from the network device, while the control path generally processes header information for the packets to determine a port of the network device from which the packet should be transmitted. Throughput of the data path is measured as a data rate (e.g., bytes per second) or as a packet rate (e.g., packets per second). The packet rate of the data path is affected by the data rate and also a size of the packets being processed. For example, for a same data rate of a stream of packets, the packet rate is relatively higher for a first packet size than for a second packet size that is larger than the first packet size. Throughput of the control path is based on the processing operations performed on the packets and is measured as a packet rate. Performance of the network device is generally improved by mitigating various bottlenecks associated with the data path and/or the control path.